#ifndef ITEMAGENDA_H_
#define ITEMAGENDA_H_

#include "Date.h"
#include "Paciente.h"
#include "Pesquisa.h"
#include <iostream>
#include <string>

    /**********************************************************************
        Classe: ItemAgenda
        Funcionalidade: Guarda um evento da Agenda associado a um paciente
    ***********************************************************************/

using namespace std;

class ItemAgenda {

public:

	//gets e sets
	string getDescricao();
	void setDescricao(string d);
	Date getDataAgendamento();
	void setDataAgendamento(int d = -1, int m = -1, int a = -1, int h = -1,
			int mi = -1);
	void setDataAgendamento(Date dAg);

	Date getDataAtendimento();
	void setDataAtendimento(int d = -1, int m = -1, int a = -1, int h = -1,
			int mi = -1);
	void setDataAtendimento(Date dAt);
	//setPaciente nem faz sentido, mas ok
	bool setPaciente(string nome, list<Cliente> clientes);
	Paciente * getPaciente();
	Vacina * getVacina();
	void setVacina(Vacina * v);

	ItemAgenda(string d, Paciente * pac, Vacina * vac);
	ItemAgenda(string d, Paciente * pac, Date dAg, Date dAt, Vacina * vac);
	//Esse coloca a hora de agendamento atual
	ItemAgenda(string d, Paciente * pac, int dt, int mt, int at, int ht,
			int mit, Vacina * vac);
    //string getDescricao();





private:
	string descricao; /*Descricao do evento*/

	//TODO
	//Tô sendo otimista, considerando que a classe Date já foi implementada

	Date dataAgendamento; /*Data em que foi agendado*/
	Date dataAtendimento;
	Vacina * vacina;

	//TODO Mudar diagrama
	Paciente * paciente;

};

#endif /* ITEMAGENDA_H_ */
